Data compression has become an increasingly important technology in image and video coding systems to exploit data redundancy. One important benefit of data compression is the reduction in the requirement of external memory size, which in turn reduces the cost of overall system. Another benefit of data compression lies in the fact that the reduction in data size may potentially lower the requirement of access bandwidth to external memory, thereby reducing system cost by using dynamic random-access memory (DRAM) with lower access frequency. To obtain better compression ratio (defined as the ratio of the compressed data size to the original data size in this disclosure), lossy data compression methods are usually employed when certain quality loss of the data is acceptable. Lossy data compression for image data has been widely adopted and formed by international coding standards, such as JPEG.
Conventional data compression techniques, such as JPEG, usually encode data based on frames. The smallest coding unit of frame-based compression technique is typically 8×8 or 16×16, which limits the application of these algorithms to systems that have smaller access units with flexible sizes. The smaller size of access units (AUs) is particularly important for the algorithm to be implemented in hardware systems. When data compression is implemented in hardware system at higher data rates, smaller access units with sizes such as 8×1, 16×1, 32×1, 4×4, or 8×8, etc., allow simpler compression methods and more flexible configurations, while the compression of different AUs can be independently calculated. Therefore a smaller AU size helps parallel processing and becomes particularly suitable for hardware implementation.
Another challenge of frame-based compression technique is that the bitstream size of compressed data varies based on the input data. In many image and video related applications, there is a need to access specific image/video data. For example, a selected small area of a JPEG-compressed image may have to be displayed or a block in a previous picture may have to be accessed for motion compensation. Any frame-based or large image-area based compression may have to access and process a large amount of compressed data before the desired video data can be accessed. This will cause more power consumption and inefficient DRAM bandwidth usage in hardware implementation. The memory access and power consumption issues may be alleviated by using smaller AUs. However, certain amount of remaining bit budget for each AU may be left unused due to this variation associated with typical lossy compression. In video and image encoding systems, it is desirable to develop a data compression scheme to realize high compression efficiency (i.e., low compression ratio) based on small access units and at the same time to use the full output bit budget effectively.